package com.thinvent.nj.ais.service;

import com.thinvent.nj.mybatis.service.CURDService;
import com.thinvent.nj.ais.entity.Org;

import java.util.List;
import java.util.Map;

/**
 * 组织Service
 * @author liupj
 */
public interface OrgService extends CURDService<Org, String> {

    /**
     * 根据父组织id获取子组织列表（树查询，包含自己）
     * @param pId
     * @param params 可选的过滤条件
     * @return
     */
    List<Org> getAllOrgListByPId(String pId, Map<String, Object> params);


    /**
     * 根据查询条件获取组织列表
     * @param params {
     *      pId --> 父级组织ID,
     *      fullName --> 组织全称, 支持模糊查询,
     *      code --> 组织编码
     *
     * }
     * @return
     */
    List<Org> getOrgListByCondition(Map<String, Object> params);

    /**
     * 根据用户Id获取所属组织列表
     * @param userId
     * @return
     */
    List<Org> getOrgListByUserId(String userId);

}
